package com.binarycat.dynamiclimit.bean;

/**
 * 限流策略枚举
 * 
 * @author jjb
 * @date 2018/08/12
 */
public enum LimitPolicyEnum {
    /**
     * 根据cpu负载限流
     */
    CPU_LIMIT("根据cpu负载限流"),
    /**
     * "根据内存使用率限流"
     */
    MEMORY_LIMIT("根据内存使用率限流"),
    /**
     * 根据方法执行的异常情况限流
     */
    EXCEPTION_LIMIT("根据方法执行的异常情况限流"),
    /**
     * 根据方法执行的超时情况限流
     */
    TIMEOUT_LIMIT("根据方法执行的超时情况限流"),
    /**
     * 根据cpu负载和内存使用率限流
     */
    USAGERATE_LIMIT("根据cpu负载和内存使用率限流"),
    /**
     * 根据方法执行的异常情况和超时情况限流
     */
    EXECUTE_RESULT_LIMIT("根据方法执行的异常情况和超时情况限流"),
    /**
     * 根据枚举中出现的所有限流策略进行行限流
     */
    ALL_POLICY_LIMIT("根据枚举中出现的所有限流策略进行限流");

    /**
     * 描述信息
     */
    private String desc;

    private LimitPolicyEnum(String desc) {
        this.desc = desc;
    }

    public String getDesc() {
        return desc;
    }
}
